package br.com.vti.sisp_sicrim.antigo.model;

import java.io.Serializable;
import java.sql.ResultSet;
import java.sql.SQLException;

import br.com.vti.sisp_sicrim.antigo.dao.SicHisTabelasDAO;
import br.com.vti.sisp_sicrim.antigo.util.ExceptionProgram;

@SuppressWarnings("serial")
public class SicHisTabelas implements Serializable {

	private String id = "";
	private String descel = "";
	private String observacao = "";
	private String chalfa = "";
	private String grupel = "";
	private Long codElemento = 0L;
	private Integer dataAtualizacao = 0;
	private Integer matriculaFunc = 0;
	private Integer dataPo = 0;
	private Integer codigoTabela = 0;
	private ResultSet consulta = null;
	private SicHisTabelasDAO sicHisTabelasDAO = new SicHisTabelasDAO();

	public SicHisTabelas() {
		super();
	}

	public SicHisTabelas(String id, String descel, String observacao, String chalfa, String grupel, Long codElemento, Integer dataAtualizacao, Integer matriculaFunc, Integer dataPo, Integer codigoTabela) {
		super();
		this.id = id;
		this.descel = descel;
		this.observacao = observacao;
		this.chalfa = chalfa;
		this.grupel = grupel;
		this.codElemento = codElemento;
		this.dataAtualizacao = dataAtualizacao;
		this.matriculaFunc = matriculaFunc;
		this.dataPo = dataPo;
		this.codigoTabela = codigoTabela;
	}

	public void grava() {

		try {
			this.id = sicHisTabelasDAO.insert(descel, observacao, chalfa, grupel, codElemento, dataAtualizacao, matriculaFunc, dataPo, codigoTabela);
		} catch (Exception e) {
			throw new ExceptionProgram(e, null, "");
		}
	}

	public boolean fimDados() {
		return !(sicHisTabelasDAO.temProximo());
	}

	public void salvarQuebras() {

	}

	public void formataAtributos(ResultSet lista) {

		if (lista == null)
			return;
		try {
			this.id = lista.getString("id");
			this.descel = lista.getString("descel");
			this.observacao = lista.getString("observacao");
			this.chalfa = lista.getString("chalfa");
			this.grupel = lista.getString("grupel");
			this.codElemento = lista.getLong("codElemento");
			this.dataAtualizacao = lista.getInt("dataAtualizacao");
			this.matriculaFunc = lista.getInt("matriculaFunc");
			this.dataPo = lista.getInt("dataPo");
			this.codigoTabela = lista.getInt("codigoTabela");
		} catch (SQLException e) {
		}
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getDescel() {
		return descel;
	}

	public void setDescel(String descel) {
		this.descel = descel;
	}

	public String getObservacao() {
		return observacao;
	}

	public void setObservacao(String observacao) {
		this.observacao = observacao;
	}

	public String getChalfa() {
		return chalfa;
	}

	public void setChalfa(String chalfa) {
		this.chalfa = chalfa;
	}

	public String getGrupel() {
		return grupel;
	}

	public void setGrupel(String grupel) {
		this.grupel = grupel;
	}

	public Long getCodElemento() {
		return codElemento;
	}

	public void setCodElemento(Long codElemento) {
		this.codElemento = codElemento;
	}

	public Integer getDataAtualizacao() {
		return dataAtualizacao;
	}

	public void setDataAtualizacao(Integer dataAtualizacao) {
		this.dataAtualizacao = dataAtualizacao;
	}

	public Integer getMatriculaFunc() {
		return matriculaFunc;
	}

	public void setMatriculaFunc(Integer matriculaFunc) {
		this.matriculaFunc = matriculaFunc;
	}

	public Integer getDataPo() {
		return dataPo;
	}

	public void setDataPo(Integer dataPo) {
		this.dataPo = dataPo;
	}

	public Integer getCodigoTabela() {
		return codigoTabela;
	}

	public void setCodigoTabela(Integer codigoTabela) {
		this.codigoTabela = codigoTabela;
	}

	public void fecha() {
		sicHisTabelasDAO.fecha();
		consulta = null;
	}

	public long registrosProcessados() {
		return sicHisTabelasDAO.nroRegistro;
	}

	public long totalRegistros() {
		return sicHisTabelasDAO.qtdRegistros;
	}

}
